/*
 * 标准交易
 * <p>名称（中文）：新交易下单接口<br />名称（英文，xx.war）：opr-hessian.war<br />简介：合单支付下单与标准收款内部下单接口合并<br />wiki文档地址：http://wiki.yeepay.com/pages/viewpage.action?pageId=122095805(4.新api分组相关接口规划)<br />预计项目上线时间：2020年6月9日<br />归属/拟申请的sp编码（可选）：opr<br />期望api分组编码、名称（可选）：trade(标准交易)<br />涉及的接口：申请下单、订单查询、申请退款、退款查询</p>
 *
 * OpenAPI spec version: 1.0
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package com.hyt.it.ogt.kq.service.bm.model.dto.pay;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.ObjectUtils;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 
 */
public class RefundQueryBankPromotionInfoDTOResult implements Serializable{

  private static final long serialVersionUID = 1L;

  /**
   * 优惠券编码
   */
  @JsonProperty("promotionId")
  private String promotionId = null;

  /**
   * 优惠券名称
   */
  @JsonProperty("promotionName")
  private String promotionName = null;

  /**
   * 优惠券退回金额
   */
  @JsonProperty("amountRefund")
  private BigDecimal amountRefund = null;

  /**
   * 优惠券活动id
   */
  @JsonProperty("activityId")
  private String activityId = null;

  /**
   * 渠道出资
   */
  @JsonProperty("channelContribute")
  private String channelContribute = null;

  /**
   * 商户出资
   */
  @JsonProperty("merchantContribute")
  private String merchantContribute = null;

  /**
   * 其他出资
   */
  @JsonProperty("otherContribute")
  private String otherContribute = null;

  /**
   * 备注信息
   */
  @JsonProperty("memo")
  private String memo = null;

  public RefundQueryBankPromotionInfoDTOResult promotionId(String promotionId) {
    this.promotionId = promotionId;
    return this;
  }

   /**
   * 优惠券编码
   * @return promotionId
  **/

  public String getPromotionId() {
    return promotionId;
  }

  public void setPromotionId(String promotionId) {
    this.promotionId = promotionId;
  }

  public RefundQueryBankPromotionInfoDTOResult promotionName(String promotionName) {
    this.promotionName = promotionName;
    return this;
  }

   /**
   * 优惠券名称
   * @return promotionName
  **/

  public String getPromotionName() {
    return promotionName;
  }

  public void setPromotionName(String promotionName) {
    this.promotionName = promotionName;
  }

  public RefundQueryBankPromotionInfoDTOResult amountRefund(BigDecimal amountRefund) {
    this.amountRefund = amountRefund;
    return this;
  }

   /**
   * 优惠券退回金额
   * @return amountRefund
  **/

  public BigDecimal getAmountRefund() {
    return amountRefund;
  }

  public void setAmountRefund(BigDecimal amountRefund) {
    this.amountRefund = amountRefund;
  }

  public RefundQueryBankPromotionInfoDTOResult activityId(String activityId) {
    this.activityId = activityId;
    return this;
  }

   /**
   * 优惠券活动id
   * @return activityId
  **/

  public String getActivityId() {
    return activityId;
  }

  public void setActivityId(String activityId) {
    this.activityId = activityId;
  }

  public RefundQueryBankPromotionInfoDTOResult channelContribute(String channelContribute) {
    this.channelContribute = channelContribute;
    return this;
  }

   /**
   * 渠道出资
   * @return channelContribute
  **/

  public String getChannelContribute() {
    return channelContribute;
  }

  public void setChannelContribute(String channelContribute) {
    this.channelContribute = channelContribute;
  }

  public RefundQueryBankPromotionInfoDTOResult merchantContribute(String merchantContribute) {
    this.merchantContribute = merchantContribute;
    return this;
  }

   /**
   * 商户出资
   * @return merchantContribute
  **/

  public String getMerchantContribute() {
    return merchantContribute;
  }

  public void setMerchantContribute(String merchantContribute) {
    this.merchantContribute = merchantContribute;
  }

  public RefundQueryBankPromotionInfoDTOResult otherContribute(String otherContribute) {
    this.otherContribute = otherContribute;
    return this;
  }

   /**
   * 其他出资
   * @return otherContribute
  **/

  public String getOtherContribute() {
    return otherContribute;
  }

  public void setOtherContribute(String otherContribute) {
    this.otherContribute = otherContribute;
  }

  public RefundQueryBankPromotionInfoDTOResult memo(String memo) {
    this.memo = memo;
    return this;
  }

   /**
   * 备注信息
   * @return memo
  **/

  public String getMemo() {
    return memo;
  }

  public void setMemo(String memo) {
    this.memo = memo;
  }


  @Override
  public boolean equals(Object o) {
  if (this == o) {
    return true;
  }
  if (o == null || getClass() != o.getClass()) {
    return false;
  }
    RefundQueryBankPromotionInfoDTOResult refundQueryBankPromotionInfoDTOResult = (RefundQueryBankPromotionInfoDTOResult) o;
    return ObjectUtils.equals(this.promotionId, refundQueryBankPromotionInfoDTOResult.promotionId) &&
    ObjectUtils.equals(this.promotionName, refundQueryBankPromotionInfoDTOResult.promotionName) &&
    ObjectUtils.equals(this.amountRefund, refundQueryBankPromotionInfoDTOResult.amountRefund) &&
    ObjectUtils.equals(this.activityId, refundQueryBankPromotionInfoDTOResult.activityId) &&
    ObjectUtils.equals(this.channelContribute, refundQueryBankPromotionInfoDTOResult.channelContribute) &&
    ObjectUtils.equals(this.merchantContribute, refundQueryBankPromotionInfoDTOResult.merchantContribute) &&
    ObjectUtils.equals(this.otherContribute, refundQueryBankPromotionInfoDTOResult.otherContribute) &&
    ObjectUtils.equals(this.memo, refundQueryBankPromotionInfoDTOResult.memo);
  }

  @Override
  public int hashCode() {
    return ObjectUtils.hashCodeMulti(promotionId, promotionName, amountRefund, activityId, channelContribute, merchantContribute, otherContribute, memo);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class RefundQueryBankPromotionInfoDTOResult {\n");

    sb.append("    promotionId: ").append(toIndentedString(promotionId)).append("\n");
    sb.append("    promotionName: ").append(toIndentedString(promotionName)).append("\n");
    sb.append("    amountRefund: ").append(toIndentedString(amountRefund)).append("\n");
    sb.append("    activityId: ").append(toIndentedString(activityId)).append("\n");
    sb.append("    channelContribute: ").append(toIndentedString(channelContribute)).append("\n");
    sb.append("    merchantContribute: ").append(toIndentedString(merchantContribute)).append("\n");
    sb.append("    otherContribute: ").append(toIndentedString(otherContribute)).append("\n");
    sb.append("    memo: ").append(toIndentedString(memo)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}

